CTRL_SRCS-$(CONFIG_Linux) += xc_linux.c
GUEST_SRCS-y :=
-GUEST_SRCS-y += xc_linux_build.c
GUEST_SRCS-y += xc_load_bin.c
GUEST_SRCS-y += xc_load_elf.c
GUEST_SRCS-y += xg_private.c
-GUEST_SRCS-$(CONFIG_IA64) += xc_ia64_stubs.c
+GUEST_SRCS-$(CONFIG_POWERPC) += xc_ppc_linux_build.c
+GUEST_SRCS-$(CONFIG_X86) += xc_linux_build.c
+GUEST_SRCS-$(CONFIG_IA64) += xc_ia64_stubs.c xc_linux_build.c
GUEST_SRCS-$(CONFIG_MIGRATE) += xc_linux_restore.c xc_linux_save.c
GUEST_SRCS-$(CONFIG_HVM) += xc_hvm_build.c
#define ELFCLASS ELFCLASS64
#define ELFDATA ELFDATA2LSB
#define ELFMACHINE EM_X86_64
+#elif defined(__powerpc__)
+#define ELFCLASS ELFCLASS64
+#define ELFDATA ELFDATA2MSB
+#define ELFMACHINE EM_PPC64
#endif
int probe_elf(const char *image,
#define mb()
#define rmb()
#define wmb()
+#elif defined(__powerpc__)
+/* XXX loosen these up later */
+#define mb() __asm__ __volatile__ ("sync" : : : "memory")
+#define rmb() __asm__ __volatile__ ("sync" : : : "memory") /* lwsync? */
+#define wmb() __asm__ __volatile__ ("sync" : : : "memory") /* eieio? */
#else
#error "Define barriers"
#endif